#ifndef MYMATH_H
#define MYMATH_H

#include <math.h>

#define M_PI 3.14159265358979323846f

/**
 * @brief 计算平方根的倒数
 * @param x 输入值
 * @return 平方根的倒数
 */
float invSqrt(float x);

/**
 * @brief 计算自然对数的底2
 * @param x 输入值
 * @return 自然对数的底2
 */
float fastLog2(float x);

/**
 * @brief 计算正弦值
 * @param x 输入值
 * @return 正弦值
 */
float fastSin(float x);

/**
 * @brief 快速计算 3x3 矩阵的逆矩阵
 * @param m 输入矩阵
 * @param inv 输出逆矩阵
 */
void fastInverse3x3(float *m, float *inv);

/**
 * @brief 快速计算 4x4 矩阵的逆矩阵
 * @param m 输入矩阵
 * @param inv 输出逆矩阵
 */
void fastInverse4x4(float *m, float *inv);

#endif // MYMATH_H
